#pragma once
/************************************************************/
/*  Author:			Michael Mozdzierz						*/
/*	Date:			02/12/2015								*/
/*	Description:	Implaments a texture cube to draw the	*/
/*					sky										*/
/*															*/
/************************************************************/

#include "../BaseGameComponent.h"
#include "../../EdgeGraphics/ConstantBuffer.h"
#include "../../Shaders/Defs/ConstantBuffers.hlsli"

class TextureCube;
class Model;

// Draws the sky around the world
class Skybox : public BaseGameComponent
{
	Model* model = nullptr;

	VRAM_WORLD world;

	ConstantBuffer<VRAM_WORLD>* worldBuffer = nullptr;

public:
	Skybox(TextureCube* textureCube);
	virtual ~Skybox(void);

	virtual void Update(float dt) override;
	virtual void Draw(void) override;
};